package com.cxb.demotest.mq.rocketmq.send_style;

import org.apache.rocketmq.client.producer.DefaultMQProducer;
import org.apache.rocketmq.client.producer.SendResult;
import org.apache.rocketmq.common.message.Message;
import org.apache.rocketmq.remoting.common.RemotingHelper;


/**
 * 单向发送消息，客户端不会感知消息的发送结果，不可靠。适用于耗时端，可靠性要求不高的场景，如日志写入。
 * @author Xb
 */
public class OneWayProducer {
    public static void main(String[] args) throws Exception {
        // 实例化消息生产者
        DefaultMQProducer producer = new DefaultMQProducer("group_test");

        // 设置nameserver的地址
        producer.setNamesrvAddr("127.0.0.1:9876");

        // 启动producer实例
        producer.start();
        for (int i = 0; i < 10; i++) {
            // 创建消息，执行topic，tag，消息体
            Message message = new Message(
                    "topic_test",
                    "tag_test",
                    "Hello, RockerMQ!".getBytes(RemotingHelper.DEFAULT_CHARSET)
            );
            // 发送消息到broker
            producer.sendOneway(message);
        }

        // 关闭生产者实例
        producer.shutdown();

    }

}
